An important aspect of any computer system is the interface between the computer and external devices. In many situations, the various units which work together to form a complete computer system, are manufactured by more than one company or organization. The definition of standard interfaces therefore has been an important activity of the computer industry. Many interfaces have been defined by various standards committees. Frequently these interfaces are in a relatively constant state of improvement.
Two of the important interfaces which have been defined by standards committees and which are in widespread use are:                1) The IDE/ATA interface: IDE stands for “Integrated Device Electronics” and ATA stands for “Advanced Technology attachment”. This interface is often referred to as the ATA interface and the IDE/ATA interface will herein be referred to as the ATA interface.        2) The USB interface: USB stands for “Universal Serial Bus” and it is coming into widespread use.        
The ATA interface is frequently used to connect mass storage devices such as hard disk drives and optical disk drives to personal computers. Several versions of the ATA interface have been defined. The latest is the ATA-7 standard which is also referred to as the Ultra-ATA/133 standard. The first several ATA standards specified a 40 pin ribbon cable with a 40 pin Insulation Displacement connector (IDC). The latest standard specifies an 80 pin ribbon cable with a 40 pin IDA connector. In this standard 40 pins in the cable are connected to ground. Many modern personal computer motherboards have built-in connectors for two of these cables and each cable can be attached to two peripheral devices. The ATA bus specifications is governed by the American National Standards Institute (ANSI) T13 and T10 working groups. The standards are published on the Internet and a link to them can be found on the web site of InterNational Committee for Information Technology Standards (INCITS) under the committee “T13 AT storage Interface” and “T10 SCSI Storage Interface”.
The USB interface was designed to be an easy-to-use interface for personal computers. When a peripheral device is “plugged-in” to a personal computer using the USB interface, the computer will auto-detect and auto-configure the device. In most cases, no user intervention is required. This is a significant advance over the prior interfaces which in general required relatively difficult user intervention. The USB interface can be used with a wide variety of different types of peripheral devices. The USB interface therefore eliminates the need for multiple I/O standards and it simplifies PC connectivity. There have been a number of versions of the USB standard. The version presently being widely deployed is designated USB 2.0. The speed of USB 2.0 has been increased to 480 Mbits/second. This is a 40-x improvement overr USB 1.0 and it makes USB 2.0 into an attractive interface for connecting mass storage devices, such as hard drives, to a personal computer. The USB interface is described in a document entitled “Universal Serial Bus Revision Specifications 2.0” which is publicly available on the web site of the “USB Implementers Forum” and elsewhere.
A bridge is a device which allows two interfaces to communicate with each other. A common commercially available bridge, is a bridge which interfaces a USB bus to an ATA bus. With a USB to ATA bridge, one can connect a mass storage device (such as a hard disk drive) which has a native ATA interface to a PC through an external USB bus.
The present invention provides an improved USB to ATA bridge which eliminates some of the delay inherent in the operation of prior art USB to ATA bridges. In the prior art USB-ATA bridge devices, there is a delay between the time that the host receives data and the time when the host issues the next read command. The present invention seeks to eliminate the effect of the above described delay upon the overall operation of the system.